package com.esunny.resourcevisualization.service;

import com.esunny.resourcevisualization.domain.entity.ResourceTypeField;
import com.esunny.resourcevisualization.domain.response.ReturnStructure;

import java.util.List;

/**
 * @version 1.0.0.0
 * @InterfaceName ResourceTypeFieldEntityDataService
 * @Description 资源类别字段接口服务
 * @Author baochencong
 * @Date 2020/9/28 13:13
 */
public interface ResourceTypeFieldService {

    /**
     * 添加资源类别字段
     *
     * @param resourceTypeField 资源类别字段信息
     * @return 添加结果信息
     */
    ReturnStructure addResourceTypeField(ResourceTypeField resourceTypeField);

    /**
     * 添加资源类别字段
     *
     * @param resourceTypeFieldList 资源类别字段信息列表
     * @return 添加结果信息
     */
    ReturnStructure addResourceTypeFieldList(List<ResourceTypeField> resourceTypeFieldList);

    /**
     * 通过资源类别字段id删除该资源字段
     *
     * @param fieldId 资源类别字段id
     * @return 删除结果信息
     */
    ReturnStructure deleteResourceTypeFieldByFieldId(int fieldId);

    /**
     * 通过资源类别字段id修改资源类别字段
     *
     * @param resourceTypeField 资源类别字段信息
     * @return 修改结果信息
     */
    ReturnStructure updateResourceTyprFieldByFieldId(ResourceTypeField resourceTypeField);

    /**
     * 通过资源类别字段id获取资源类别字段信息
     *
     * @param fieldId 资源类别字段id
     * @return 资源类别字段信息
     */
    ResourceTypeField getResourceTypeFieldByField(int fieldId);

    /**
     * 通过资源类别英文名获取资源类别字段列表信息
     *
     * @param name 资源类别英文名
     * @return 资源类别字段列表信息
     */
    List<ResourceTypeField> getResourceTypeFieldByName(String name);

    /**
     * 通过资源类别英文名和资源类别字段英文名1获取资源类别字段信息
     *
     * @param name      资源类别英文名
     * @param fieldName 资源类别字段英文名
     * @return 资源类别字段信息
     */
    ResourceTypeField getResourceTypeFieldByNameAndFieldName(String name, String fieldName);
}
